/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejb.common;

import applicationexcepcion.OrdineStateException;
import common.ProdottoQuantita;
import common.StatoOrdine;
import entity.Cliente;
import entity.Negozio;
import entity.Ordine;
import java.util.List;
import javax.ejb.Local;

/**
 *
 * @author Antonio
 */
@Local
public interface OrdineManagerLocal {

    void creaOrdine(Ordine ordine);

    void rimuoviOrdine(Ordine ordine);

    List<Negozio> cercaOrdinePerNegozio(Long idNegozio);

    void creaOrdine(List<ProdottoQuantita> listaProdotti);

    List<Cliente> cercaOrdinePerCliente(Long idCliente);

    void ordineSpedito(Ordine ordine) throws OrdineStateException;

    void ordineInElaborazione(Ordine ordine) throws OrdineStateException;

    void ordineConfermato(Ordine ordine) throws OrdineStateException;

    List<Ordine> cercaPerStatoNegozio(StatoOrdine stato, Long idNegozio);

    Long creaOrdine(Long idNegozio);

    Ordine cercaPerId(Long idOrdine);

    void rimuoviOrdineDaId(Long idOrdine);

    void modificaOrdine(Ordine ordine);

    Long getMaxOrdini(Long idCliente);
}
